Ubuntu 22.04 LTS如何安裝Nvidia顯示卡驅動、CUDA、cuDNN、NVIDIA Container Toolkit套件 · Ivon的部落格 您所在的位置:网站首页 ubuntu 安装cuda-drivers Ubuntu 22.04 LTS如何安裝Nvidia顯示卡驅動、CUDA、cuDNN、NVIDIA Container Toolkit套件 · Ivon的部落格

Ubuntu 22.04 LTS如何安裝Nvidia顯示卡驅動、CUDA、cuDNN、NVIDIA Container Toolkit套件 · Ivon的部落格

2024-03-23 22:19| 来源: 网络整理| 查看: 265

本文解說如何在Ubuntu 22.04 LTS以終端機指令安裝Nvidia專有驅動(proprietary driver),以及相關的CUDA、cuDNN、TensorRT、NVIDIA Container Toolkit套件。

一般用戶玩遊戲只要裝完Nvidia閉源驅動即可收工。

要跑3D渲染、神經網路、深度學習的用戶才裝後面的CUDA、cuDNN、TensorRT套件。這些套件都依賴Nvidia閉源驅動,但是不一定要全裝,端看專案需求。

Anaconda請參閱 此篇安裝。

0. 前言#

Ubuntu內建支援Nvidia顯示卡的開源驅動「nouveau」,為Linux社群逆向工程而來,不至於讓電腦開機沒畫面。那為什麼Nvidia官方發表的閉源驅動並非開源軟體,仍建議您安裝?因為nouveau驅動會導致Nvidia顯示卡性能下降,控制風扇失效,並且無法使用Nvidia獨家的加速技術「CUDA」、「NVENC」。欲發揮Nvidia顯示卡全部潛能,安裝Nvidia閉源驅動乃必要之舉。

一切安裝指令以參考資料處的【Nvidia官方文件】為準。

Nvidia官方文件提供的安裝方式主要有四種:

從tar檔安裝下載deb檔匯入PPA安裝(Local)套件管理員匯入PPA安裝(Network)下載.run檔安裝

本文採用「3.套件管理員匯入PPA安裝」,這樣就不需要去官網註冊帳號下載安裝檔了,Nvidia驅動會自動跟著系統套件管理員更新,裝錯版本也比較好解除安裝。

要使用Tensorflow前務必參閱 官網,了解對應的CUDA版本才安裝。

1. 安裝Nvidia專有驅動#1.1. 桌上型電腦與伺服器#

若有Nvidia顯示卡,Ubuntu預設會載入開源的nouveau驅動,用指令sudo lshw -C display確認,driver區段會顯示"nouveau"

欲使用CUDA技術,必須安裝專有的Nvidia驅動程式。先將nouveau套件與舊版Nvidia套件刪除:

sudo apt update sudo apt upgrade sudo apt purge *nvidia*

接著使用ubuntu-drivers list指令列出目前Nvidia顯示卡可用的驅動版本。例如GTX 1050Ti會看到以下畫面。

如果您沒有要使用CUDA,那就讓Ubuntu自動挑選適合的版本安裝;要使用CUDA請注意挑選正確的驅動版本。

# 讓Ubuntu自動挑選推薦的驅動版本 sudo ubuntu-drivers autoinstall # 手動指定版本,填入要安裝的Nvidia驅動版本號。 sudo apt install nvidia-driver-525

安裝後nouveau應會自動加入黑名單禁止載入。接著重開機,用指令sudo lshw -C display確認是否安裝成功,driver區段應會顯示"nvidia"

輸入nvidia-smi指令應會看到目前的驅動狀況

1.2. 雙GPU筆電#

有Nvidia顯示卡的筆電安裝顯示卡驅動的方式跟桌上型電腦一樣。

不過,像Intel+Nvidia這種的雙GPU筆電,即使裝了Nvidia驅動也可能繼續用Intel的GPU渲染3D,導致3D性能低下。

此時可以使用prime-select指令,指定用Nvidia顯示卡負責渲染作業。

sudo prime-select nvidia 2. 安裝CUDA#

CUDA (Compute Unified Device Architecture),在做深度學習、Blender渲染時常用到的技術。

加入Ubuntu 22.04的Nvidia官方PPA,裡面含有各種CUDA版本# 使用環境變數os指定系統版本 os=ubuntu2204 # 使用環境變數arch指定系統架構 arch=x86_64 # 取得keyring wget https://developer.download.nvidia.com/compute/cuda/repos/$os/$arch/cuda-keyring_1.0-1_all.deb # 安裝keyring sudo dpkg -i cuda-keyring_1.0-1_all.deb 安裝最新的CUDA,重開機。如果Nvidia驅動版本對不上,在安裝CUDA的過程會自動跟著升級。sudo apt update sudo apt install cuda # 或是 sudo apt-get install cuda-12-1

用nvcc --version指令確認CUDA版本

如果顯示Command nvcc not found,則將路徑加入至~/.bashrc:

export PATH=/usr/local/cuda-12/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-12/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 再嘗試檢查一次版本source ~/.bashrc nvcc --version 如何安裝舊版本CUDA

如果裝了CUDA 12.1,才發現你需要的其實是CUDA 11.8,那就將其移除重裝。

刪除目前已安裝的Nvidia驅動、CUDA、cuDNNsudo apt purge *nvidia* sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*" sudo apt autoremove 安裝舊版CUDA,會一併把對應的Nvidia驅動一起裝回來。os=ubuntu2204 arch=x86_64 wget https://developer.download.nvidia.com/compute/cuda/repos/$os/$arch/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb sudo apt update sudo apt install cuda-11-8 編輯~/.bashrc,將PATH修改為指向CUDA 11.8的路徑export PATH=/usr/local/cuda-11/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-11/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 確認CUDA版本是否為11.8source ~/.bashrc nvcc --version 3. 安裝cuDNN#

CUDA Deep Neural Network (cuDNN)

安裝cuDNN前務必檢查CUDA版本是否正確。

加入Ubuntu 22.04的Nvidia官方PPAOS=ubuntu2204 wget https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/cuda-${OS}.pin sudo mv cuda-${OS}.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/3bf863cc.pub sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/${OS}/x86_64/ /" sudo apt-get update 安裝libfreeimagesudo apt install libfreeimage-dev 安裝cuDNN執行時與範本。libcudnn8後面的數字應為cuda12.0或cuda11.8。# 如果找不到套件請用apt search libcudnn8查找其確切版本號碼 # CUDA 12.0 sudo apt-get install libcudnn8=8.8.0.121_1.0-1+cuda12.0 sudo apt-get install libcudnn8-dev=8.8.0.121-1+cuda12.0 # CUDA 11.8 sudo apt-get install libcudnn8=8.8.0.121_1-1+cuda11.8 sudo apt-get install libcudnn8-dev=8.8.0.121-1+cuda11.8 編譯執行官方範本,測試cuDNN安裝是否成功cp -r /usr/src/cudnn_samples_v8/ $HOME cd $HOME/cudnn_samples_v8/mnistCUDNN make clean && make ./mnistCUDNN 看到Test passed!代表安裝成功。4. 安裝TensorRT#

TensorRT是Nvidia推出的深度學習推理平台。

TensorRT目前還沒有PPA可以直接用,必須註冊Nvidia帳號下載匯入。

至 Nvidia官網註冊帳號,登入,勾選同意授權條款,點選Ubuntu 22.04的deb檔下載

安裝TensorRT

sudo dpkg -i nv-tensorrt-local-repo-ubuntu2204-8.5.2-cuda-11.8_1.0-1_amd64.deb sudo cp /var/nv-tensorrt-local-repo-ubuntu2204-8.5.2-cuda-11.8/nv-tensorrt-local-A4462430-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get install tensorrt 5. 安裝NVIDIA Container Toolkit#

這是設計給Docker容器用的Nvidia工具,使容器可以使用CUDA計算。

先安裝 Docker

加入Nvidia的儲存庫,distribution的值是從/etc/os-release抓的,應為ubuntu2204

distribution="ubuntu2204" curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list 安裝NVIDIA Container Toolkitsudo apt-get update sudo apt-get install nvidia-container-toolkit 向Docker註冊Nvidia裝置sudo nvidia-ctk runtime configure --runtime=docker 重新啟動Dockersudo systemctl restart docker 測試是否正確安裝,應該會印出Nvidia顯示卡的資訊。sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi 參考資料#NVIDIA Driver Installation Quickstart GuideNVIDIA CUDA Installation Guide for LinuxNVIDIA Deep Learning cuDNN DocumentationNVIDIA Deep Learning TensorRT DocumentationInstallation Guide — NVIDIA Cloud Native Technologies


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有